// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Joaca la Madjoker Casino Online – Experienza de Jucatiori Autentică – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Joaca la Madjoker Casino Online – Experienza de Jucatiori Autentică

Cum să începi să joacă la Madjoker Casino Online

Daca doresti sa incerci norocul la Madjoker Casino Online, acesta este un ghid simplu pentru a-ti incepe aventura.
1. Creeaza un cont – Acceseaza site-ul Madjoker Casino Online si click pe butonul “Inregistrare” pentru a incepe procesul de creare a contului.
2. Verifica contul – Verifica adresa dvs. de email pentru a va asigura ca contul dvs. este activ.
3. Depune fonduri – Depune fonduri folosind metode de plata acceptate, cum ar fi cardurile de credit/debit, portofele electronice sau transferul bancar.
4. Alege jocul dvs. preferat – Madjoker Casino Online ofera o varietate de jocuri, inclusiv jocuri de masa, jocuri de noroc si jocuri cu cazinouri live.
5. Incepe sa joci – Click pe butonul “Juca acum” pentru a incepe sa jucati la jocul ales si sa va bucurati de experienta de cazinou online.
6. Retragerea fondurilor – Daca castigati, puteti retrage fondurile folosind aceeasi metoda de plata folosita la depunere.

Jocurile de cazino populare la Madjoker Casino Online

Daca sunteti interesat de jocurile de cazino populare la Madjoker Casino Online, ati venit pe site potrivit. Aici puteti gasi o varietate de jocuri, inclusiv cele mai iubite:
1. Blackjack – un joc de noroc clasic care implica abilitate si strategie.
2. Ruleta – un joc de has de neoprit care ofera multiple opțiuni de pariuri.
3. Poker – un joc de card popular unde puteti testa abilitatile si strategiile dvs. de poker.
4. Jackpoturi progresive – unde puteti castiga premii mari cu o singura pariu.
5. Jocuri de masa – cum ar fi Baccarat si Craps, care ofera o experienta de cazino autentica.
6. Jocuri de slot – cu teme variate si premii generoase.
Explorati site-ul nostru si descoperiti jocurile de cazino populare la Madjoker Casino Online!

Joaca la Madjoker Casino Online - Experienza de Jucatiori Autentică

Experiența de joc autentică la Madjoker Casino Online

Jucați acum la Madjoker Casino Online și experimentați o senzație autentică la jocuri de cazino! Oferim o varietate de jocuri de cazino live, unde puteți interacționa cu dealeri reali și alți jucători. Toate jocurile sunt transmise în direct din studiouri de cazino de lux, asigurând o experiență de joc autentică. În plus, puteți alege dintr-o gamă largă de limbi pentru interfața dvs. utilizator, inclusiv română. Nu-ți lipsește decât să te distrezi și să câștigi la Madjoker Casino Online!

Alegeți dintr-o mulțime de jocuri de cazino populare, precum blackjack, ruletă și baccarat, toate cu dealeri reali. La Madjoker Casino Online, ne axăm pe o experiență de joc autentică, oferind o interfață ușor de utilizat și opțiuni de personalizare. În plus, puteți beneficia de bonusuri generoase și promoții frecvente. Nu-ți mai aștepta, începe să joci acum la Madjoker Casino Online!

La Madjoker Casino Online, puteți să vă bucurați de o experiență de joc autentică, fără să părăsiți casa. Toate jocurile sunt transmise în direct, oferind o senzație reală de prezență. În plus, puteți comunica cu dealeri reali și alți jucători, creând o atmosferă socială și distractivă. Nu-ți lipsește decât să te alături comunității de jucători de la Madjoker Casino Online!

Bonusuri și promoții tentante la Madjoker Casino Online

La Madjoker Casino Online, descoperi o lume plină de Bonusuri și promoții tentante. Inregistrează-te acum și primește un bonus de bun venit generos. Participă la turneele săptămânale și câștig peste 1000 de euro în fiecare săptămână. Nu-ți am sociul fidelitatea și obține puncte de recompensă pentru fiecare pariu. În plus, beneficiază de promoții zilnice și obține mai multe șanse de a câștiga. La Madjoker Casino Online, există mereu o cauză să te bucuri!

Depuneri și retrageri ușoare la Madjoker Casino Online

La Madjoker Casino Online, putem beneficia de procese de depuneri și retrageri ușoare. Depunerile se fac rapid, asigurându-ți o experiență de joc placută. Metode de plată populare, cum ar fi cardurile de credit/debit și portofelele electronice, sunt acceptate. Pentru retrageri, alegem dintr-o varietate de opțiuni, fiecare cu timpi de procesare minimi. La Madjoker Casino Online, prioritatea noastră este de a oferi o platformă de joc sigură, cu tranzacții ușoare și eficiente. Începeți să jucați acum și experimentați de voi înșine ușurința depunerilor și retragerilor!

Serviciu client dedicat la Madjoker Casino Online

La Madjoker Casino Online, oferim un serviciu client dedicat pentru a ne asigura cea mai bună experiență de joc pentru toți jucătorii noștri din România. Echipa noastră profesionistă de suport este gata să vă ajute cu orice nevoie sau întrebare pe care o aveți, oricând de doriți. Ne ocupăm de soluționarea rapidă a problemelor tehnice, gestionăm plățile și retragerile sigure și oferim consiliere și suport personalizat. La Madjoker Casino Online, sunteți mereu important pentru noi și ne străduim să vă oferim cea mai bună experiență de joc online. Serviciu client dedicat la Madjoker Casino Online înseamnă că suntem mereu la un mesaj de depărtare, de la înregistrare până la retragerea câștigurilor dvs.

Alexandra, 28 de ani:

Joaca la Madjoker Casino Online a fost o experiență minunată pentru mine. Interfața lor este ușor de utilizat și au o gamă impresionantă de jocuri de casino. Am încercat jocul de roletă și am câștigat câteva tururi. Plătesc foarte repede, iar atenția lor client este excelentă. Joaca la Madjoker Casino Online – o alegere bună pentru oricine vrea o experiență de joc autentică.

Mihai, casino Madjoker 35 de ani:

M-am distrat mult la Madjoker Casino Online. Am jucat câteva jocuri de masă și sloturi și am fost impresionat de calitatea lor. Grafica și sunetele sunt atât de realiste, încât simți că esti într-un casino real. De asemenea, oferteazile și bonusurile lor sunt foarte atractive. Joaca la Madjoker Casino Online – o experiență de joc autentică pe care o recomand cu încredere.

Ana, 24 de ani:

Experiența mea cu Madjoker Casino Online a fost una minunată. Jocul este rapid și ușor de înțeles, iar câștigurile sunt plătite prompt. De asemenea, mi-a plăcut faptul că au o varietate de metode de plată. Joaca la Madjoker Casino Online – o experiență de joc autentică pe care o recomand tuturor iubitorilor de casino.

Joaca la Madjoker Casino Online - Experienza de Jucatiori Autentică

Întrebări frecvente despre Joaca la Madjoker Casino Online – Experiență de Jucatiori Autentică:

1. Ce este Madjoker Casino Online? Madjoker Casino Online este o platformă de jocuri de noroc de încredere, oferind o experiență autentică de joc.

2. Ce jocuri sunt disponibile la Madjoker Casino Online? Madjoker Casino Online oferă o varietate de jocuri, inclusiv jocuri de masă, jocuri de slot și jocuri cu croupier live.

3. Este sigur să joc pe Madjoker Casino Online? Da, Madjoker Casino Online este o platformă de jocuri de noroc sigură și legală, cu o licență de funcționare validă.

4. Ce metode de plată sunt acceptate de Madjoker Casino Online? Madjoker Casino Online acceptă o varietate de metode de plată, inclusiv carduri de credit/debit, portofele electronice și transferuri bancare.

5. Există suport client disponibil la Madjoker Casino Online? Da, Madjoker Casino Online oferă suport client 24/7, atât prin email, cât și prin chat live, pentru a rezolva orice probleme sau întrebări pe care le-ai.

Design and Develop by Ovatheme